/*
 * @(#)QueryField.java
 * Date 2013-09-02
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.registry.constant;

/**
 * Enum description
 *
 */
public enum QueryField {

    DocumentEntryAuthorsPerson("authors.person"),
    DocumentEntryAvailabilityStatus("availabilityStatus.code"),
    DocumentEntryClassCodeCode("classCode.code"),
    DocumentEntryClassCodeScheme("classCode.codeSystem"),
    DocumentEntryConfidentialityCodesCode("confidentialityCodes.code"),
    DocumentEntryConfidentialityCodesScheme("confidentialityCodes.codeSystem"),
    DocumentEntryCreationTime("creationTime"),
    DocumentEntryEntryUUID("entryURN"),
    DocumentEntryEventCodesCode("eventCodes.code"),
    DocumentEntryEventCodesScheme("eventCodes.codeSystem"),
    DocumentEntryFoldersSourceEntryURN("folders.sourceEntryURN"),
    DocumentEntryFoldersTargetEntryURN("folders.targetEntryURN"),
    DocumentEntryFoldersSourceUniqueIdRoot("folders.sourceUniqueId.root"),
    DocumentEntryFoldersTargetUniqueIdRoot("folders.targetUniqueId.root"),
    DocumentEntryFoldersSourceUniqueIdExtension("folders.sourceUniqueId.extension"),
    DocumentEntryFoldersTargetUniqueIdExtension("folders.targetUniqueId.extension"),
    DocumentEntryFormatCodeCode("formatCode.code"),
    DocumentEntryFormatCodeScheme("formatCode.codeSystem"),
    DocumentEntryHealthcareFacilityTypeCodeCode("healthcareFacilityTypeCode.code"),
    DocumentEntryHealthcareFacilityTypeCodeScheme("healthcareFacilityTypeCode.codeSystem"),
    DocumentEntryPatientIdRoot("patientId.root"), 
    DocumentEntryPatientIdExtension("patientId.extension"),
    DocumentEntryPracticeSettingCodeCode("practiceSettingCode.code"),
    DocumentEntryPracticeSettingCodeScheme("practiceSettingCode.codeSystem"),
    DocumentEntryParentDocumentAssociationsType("parentDocument.associationType"),
    DocumentEntryParentDocumentSourceEntryURN("parentDocument.sourceEntryURN"),
    DocumentEntryParentDocumentTargetEntryURN("parentDocument.targetEntryURN"),
    DocumentEntryParentDocumentSourceUniqueIdRoot("parentDocument.sourceUniqueId.root"),
    DocumentEntryParentDocumentTargetUniqueIdRoot("parentDocument.targetUniqueId.root"),
    DocumentEntryParentDocumentSourceUniqueIdExtension("parentDocument.sourceUniqueId.extension"),
    DocumentEntryParentDocumentTargetUniqueIdExtension("parentDocument.targetUniqueId.extension"),
    DocumentEntryServiceIntervalStart("serviceInterval.start"),
    DocumentEntryServiceIntervalStop("serviceInterval.stop"),
    DocumentEntrySubmissionSetsSourceEntryURN("submissionSets.sourceEntryURN"),
    DocumentEntrySubmissionSetsTargetEntryURN("submissionSets.targetEntryURN"),
    DocumentEntrySubmissionSetsSourceUniqueIdRoot("submissionSets.sourceUniqueId.root"),
    DocumentEntrySubmissionSetsTargetUniqueIdRoot("submissionSets.targetUniqueId.root"),
    DocumentEntrySubmissionSetsSourceUniqueIdExtension("submissionSets.sourceUniqueId.extension"),
    DocumentEntrySubmissionSetsTargetUniqueIdExtension("submissionSets.targetUniqueId.extension"),
    DocumentEntryTypeCodeCode("typeCode.code"),
    DocumentEntryTypeCodeScheme("typeCode.codeSystem"),
    DocumentEntryUniqueIdRoot("uniqueId.root"),
    DocumentEntryUniqueIdExtension("uniqueId.extension"),
    
    FolderAvailabilityStatus("availabilityStatus.code"),
    FolderCodeListCode("codes.code"),
    FolderCodeListScheme("codes.codeSystem"),
    FolderEntryUUID("entryURN"),
    FolderLastUpdateTime("lastUpdateTime"),
    FolderPatientIdRoot("patientId.root"), 
    FolderPatientIdExtension("patientId.extension"),
    FolderSubmissionSetsSourceEntryURN("submissionSets.sourceEntryURN"),
    FolderSubmissionSetsTargetEntryURN("submissionSets.targetEntryURN"),
    FolderSubmissionSetsSourceUniqueIdRoot("submissionSets.sourceUniqueId.root"),
    FolderSubmissionSetsTargetUniqueIdRoot("submissionSets.targetUniqueId.root"),
    FolderSubmissionSetsSourceUniqueIdExtension("submissionSets.sourceUniqueId.extension"),
    FolderSubmissionSetsTargetUniqueIdExtension("submissionSets.targetUniqueId.extension"),
    FolderUniqueIdRoot("uniqueId.root"),
    FolderUniqueIdExtension("uniqueId.extension"),
    
    SubmissionSetAuthorPersons("authors.person"),
    SubmissionSetAvailabilityStatus("availabilityStatus.code"),
    SubmissionSetContentTypeCode("contentTypeCode.code"),
    SubmissionSetContentTypeScheme("contentTypeCode.codeSystem"),
    SubmissionSetEntryUUID("entryURN"),
    SubmissionSetPatientIdRoot("patientId.root"), 
    SubmissionSetPatientIdExtension("patientId.extension"),
    SubmissionSetSourceId("sourceId"),
    SubmissionSetSubmissionTime("submissionTime"),
    SubmissionSetSubmittedAssociationsSourceEntryURN("submittedAssociations.sourceEntryURN"),
    SubmissionSetSubmittedAssociationsTargetEntryURN("submittedAssociations.targetEntryURN"),
    SubmissionSetSubmittedAssociationsType("submittedAssociations.associationType"),
    SubmissionSetUniqueIdRoot("uniqueId.root"),
    SubmissionSetUniqueIdExtension("uniqueId.extension"),
    
    PatientIdentityUniqueIdRoot("identifier.root"),
    PatientIdentityUniqueIdExtensions("identifier.extension")
    ;
    
    /** Field description */
    private final String field;

    /**
     * Constructs ...
     *
     *
     * @param field
     */
    private QueryField(String field) {
        this.field = field;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getField() {
        return this.field;
    }
}
